home *** CD-ROM | disk | FTP | other *** search
- /*
- * File: DZMenu.c
- *
- * Copyright © 1996 Apple Computer, Inc.
- */
-
- #include <Dialogs.h>
- #include <Menus.h>
-
- #include "DZDisplay.h"
- #include "DZInput.h"
- #include "DZMain.h"
- #include "DZMenu.h"
- #include "DZGame.h"
- #include "DZResource.h"
- #include "DZSound.h"
-
-
- static void SelectAppleMenu(
- short inItem);
-
- static void SelectFileMenu(
- short inItem);
-
-
- /* =============================================================================
- * Menu_Init (external)
- *
- * Initializes our menus.
- * ========================================================================== */
- void Menu_Init(
- void)
- {
- SetMenuBar(GetNewMBar(kMBarID_Main));
- AppendResMenu(GetMenuHandle(kMenuID_Apple), 'DRVR');
- DrawMenuBar();
- }
-
-
- /* =============================================================================
- * Menu_Exit (external)
- *
- * Cleans up.
- * ========================================================================== */
- void Menu_Exit(
- void)
- {
- }
-
-
- /* =============================================================================
- * Menu_Select (external)
- *
- * Takes action on the given menu item.
- * ========================================================================== */
- void Menu_Select(
- short inMenuID,
- short inItem)
- {
- switch (inMenuID)
- {
- case kMenuID_Apple:
- SelectAppleMenu(inItem);
- break;
-
- case kMenuID_File:
- SelectFileMenu(inItem);
- break;
- }
-
- HiliteMenu(0);
- }
-
-
- /* =============================================================================
- * SelectAppleMenu (internal)
- *
- * Takes action on the given Apple menu item.
- * ========================================================================== */
- void SelectAppleMenu(
- short inItem)
- {
- switch (inItem)
- {
- case kAppleItem_About:
- Display_Activate(false);
- Alert(kAlrtID_About, NULL);
- Display_Activate(true);
- break;
- }
- }
-
-
- /* =============================================================================
- * SelectFileMenu (internal)
- *
- * Takes action on the given File menu item.
- * ========================================================================== */
- void SelectFileMenu(
- short inItem)
- {
- switch (inItem)
- {
- case kFileItem_StartGame:
- switch (Game_GetState())
- {
- case kGameState_Playing:
- // do nothing -- should be disabled
- break;
-
- case kGameState_Paused:
- Game_SetState(kGameState_Stopped);
- Game_SetState(kGameState_Playing);
- break;
-
- case kGameState_Stopped:
- Game_SetState(kGameState_Playing);
- break;
- }
- break;
-
- case kFileItem_EndGame:
- switch (Game_GetState())
- {
- case kGameState_Playing:
- case kGameState_Paused:
- Game_SetState(kGameState_Stopped);
- break;
-
- case kGameState_Stopped:
- // do nothing -- should be disabled
- break;
- }
- break;
-
- case kFileItem_PauseGame:
- switch (Game_GetState())
- {
- case kGameState_Playing:
- Game_SetState(kGameState_Paused);
- break;
-
- case kGameState_Paused:
- Game_SetState(kGameState_Playing);
- break;
-
- case kGameState_Stopped:
- // do nothing -- should be disabled
- break;
- }
- break;
-
- case kFileItem_ConfigInput:
- Display_Activate(false);
- Input_Configure();
- Display_Activate(true);
- break;
-
- case kFileItem_Config3DSound:
- Display_Activate(false);
- Sound_Configure();
- Display_Activate(true);
- break;
-
- case kFileItem_Quit:
- Main_LastRoundup();
- break;
- }
- }
-
-
-